1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular to a computer implemented method and data processing system for providing a hardware controlled one-time write for fiscal printers.
2. Description of the Related Art
Taxing authorities in some countries implement fiscal laws which provide auditing tools for securing public revenue and eliminating tax evasion on retail sales. These fiscal laws require retailers to keep special records of their retail sales transactions at the point of sale. Sales transactions are recorded at a point-of-sale device in the form of an electronic journal and a fiscal memory.
An electronic journal is a file which holds information for each individual transaction so that a receipt can be recreated. For instance, a journal may contain a line for each sale and its various subcomponents, such as the item and quantity purchased, method of payment used, the payment tendered, etc. The electronic journal is typically stored on a compact flash card connected to the point-of-sale printer. The compact flash card is mounted on a printed circuit board (PCB) and the PCB is connected to the microprocessor/interface card of the printer. The compact flash card is controlled by commands from the microprocessor in the printer. An appropriate command from the microprocessor in the compact flash card causes data to be written to the card. The compact flash card has its own file system, so the card controls the placement of the data. At the end of a day, the compact flash card reorganizes all of the transactions from the day and rewrites the transactions to itself in a more organized manner.
Fiscal memory is a non-volatile memory which holds specialized information from all of the transactions of the day, such as sales totals. Fiscal memory is written once at the end of a day. Fiscal memory comprises information which may be used, for example, by a taxing authority to determine if a retailer has submitted payment to the taxing authority of all taxes collected from customer sales. A one-time-programmable electronically programmable read only memory (EPROM) is typically used as the fiscal memory.
While existing fiscal systems allow transaction information to be recorded for auditing by a taxing authority, these systems are still susceptible to being tampered with in several ways. For instance, since the electronic journal is controlled by software and firmware, a change to the code can cause security issues for the journal. In addition, the compact flash card rewrites the data at the end of the day, so a corruption in the compact flash card could alter the stored data. The data on the compact flash card is also able to be moved and rewritten, so there is a chance that data could be overwritten and thus lost. Furthermore, since data can be rewritten to the compact flash card, then the erase function must still be enabled on the compact flash card, thus allowing a routine that hackers can use to remove transaction data. Moreover, written areas for the fiscal memory are recorded in a table that the microprocessor populates. If this table is erased, then it must be recreated. The table may or may not contain errors.